

package dao;

import entite.Question;
import java.util.List;
import javax.ejb.Local;


@Local
public interface QuestionFacadeLocal {

    /**
     * Méthode de création d'une question
     * @param question à créer
     */
    void create(Question question);

    /**
     * Méthode de modification d'une question
     * @param question à modifier
     * @return question modifiée
     */
    Question edit(Question question);

    /**
     * Méthode de suppression d'une question
     * @param question à supprimer
     */
    void remove(Question question);

    /**
     * Méthode pour trouver une question
     * @param id : id à trouver
     * @return question trouvée
     */
    Question find(Object id);

    /**
     * Méthode pour extraire toutes les questions
     * @return Liste des questions
     */
    List<Question> findAll();

    /**
     * Méthode pour extraire la liste de toutes les questions
     * @param range : tableau d'indice
     * @return Liste des questions suivant les indices
     */
    List<Question> findRange(int[] range);

    /**
     * Méthode pour compter le nombre de question
     * @return nombre trouvé
     */
    int count();

    /**
     * Méthode pour récupérer tous les libellés des questions composés du paramètre
     * @param libelleQuestion : chaine de caractère recherché
     * @return Liste des questions ayant la chaine recherchée dans le libellé
     */
    public List<Question> cherchercheLibelle(String libelleQuestion);

}
